Variables include:
# meta %>%
# filter(su_blkgp == 1) %>%
# select(varname, about) %>% as.list()
glimpse(cvlblkgps)
## Rows: 155
## Columns: 11
## $ Blkgr <chr> "510030101001", "510030101002", "510030101003", "51003010…
## $ tract <dbl> 51003010100, 51003010100, 51003010100, 51003010201, 51003…
## $ resproviders <int> 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 7, 7, 10, 8, 8, 8, 7, 7, 8,…
## $ bb253_num <int> 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 5, 5, 7, 5, 6, 6, 5, 5, 6, …
## $ bb253_per <dbl> 71.4, 71.4, 71.4, 71.4, 71.4, 71.4, 71.4, 71.4, 71.4, 75.…
## $ bbmin_dl <dbl> 2.000, 1.500, 0.500, 1.500, 2.000, 1.500, 0.500, 2.000, 2…
## $ bbmax_dl <int> 987, 987, 987, 987, 987, 987, 987, 987, 987, 1000, 987, 9…
## $ bbmin_up <dbl> 0.064, 0.064, 0.064, 0.064, 0.064, 0.064, 0.064, 0.064, 0…
## $ bbmax_up <int> 35, 35, 940, 940, 35, 35, 940, 35, 35, 1000, 35, 35, 1000…
## $ avgMaxAdDown <dbl> 38.18072, 35.36683, 55.64062, 79.77755, 86.78571, 118.260…
## $ avgMaxAdUp <dbl> 2.410092, 2.132565, 4.929708, 5.765947, 4.208341, 4.81676…
BlockCode: geographic identifer for spatial area (tracts, block groups, and blocks)
Blkgr: geographic identifer for spatial area (tracts, block groups, and blocks)
tract: geographic identifer for spatial area (tracts, block groups, and blocks)
resproviders: The number of residential internet providers in the block/block group/tract
bb253_num: The number of residential broadband providers providing service that meets the FCC benchmark for “advanced telecommunications capability”, 25/3 Mbps
bb253_per: The percent of residential broadband providers providing service that meets the FCC benchmark for “advanced telecommunications capability”, 25/3 Mbps
bbmin_dl: The minimum advertised download speed provider in the block/block group/tract
bbmax_dl: The maximum advertised download speed provider in the block/block group/tract
bbmin_up: The minimum advertised upload speed provider in the block/block group/tract
bbmax_up: The maximum advertised upload speed provider in the block/block group/tract
avgMaxAdDown:The average maximum advertised download speed by each broadband provider in the block/block group/tract
avgMaxAdUp: The average maximum advertised upload speed by each broadband provider in the block/block group/tract
5-number summaries of variables by block groups:
cvlblkgps %>% select(-c(Blkgr, tract)) %>%
select(where(~is.numeric(.x))) %>%
as.data.frame() %>%
stargazer(., type = "text", title = "Summary Statistics", digits = 2,
summary.stat = c("mean", "sd", "min", "median", "max"))
##
## Summary Statistics
## ==================================================
## Statistic Mean St. Dev. Min Median Max
## --------------------------------------------------
## resproviders 7.43 1.00 5 7 10
## bb253_num 5.14 0.91 3 5 7
## bb253_per 68.96 6.41 42.90 71.40 77.80
## bbmin_dl 1.48 0.61 0 1.5 2
## bbmax_dl 1,034.61 735.27 100 1,000 10,000
## bbmin_up 0.12 0.17 0.06 0.06 1.30
## bbmax_up 650.34 890.28 3 940 10,000
## avgMaxAdDown 135.28 69.78 23.77 128.14 286.16
## avgMaxAdUp 32.37 39.96 1.91 10.04 204.68
## --------------------------------------------------
cvltracts %>%
pivot_longer(-tract, names_to = "measure", values_to = "value") %>%
mutate(measure = factor(measure, levels = c("resproviders", "bb253_num", "bb253_per",
"avgMaxAdDown", "avgMaxAdUp",
"bbmax_dl", "bbmax_up", "bbmin_dl", "bbmin_up"))) %>%
ggplot(aes(x = value, fill = measure)) +
scale_fill_viridis(option = "plasma", discrete = TRUE, guide = "none") +
geom_histogram() +
facet_wrap(~measure, scales = "free")
cvlblkgps %>% select(-tract) %>%
pivot_longer(-Blkgr, names_to = "measure", values_to = "value") %>%
mutate(measure = factor(measure, levels = c("resproviders", "bb253_num", "bb253_per",
"avgMaxAdDown", "avgMaxAdUp",
"bbmax_dl", "bbmax_up", "bbmin_dl", "bbmin_up"))) %>%
ggplot(aes(x = value, fill = measure)) +
scale_fill_viridis(option = "plasma", discrete = TRUE, guide = "none") +
geom_histogram() +
facet_wrap(~measure, scales = "free")
cvlblocks %>% select(-tract, Blkgr) %>%
pivot_longer(-BlockCode, names_to = "measure", values_to = "value") %>%
mutate(measure = factor(measure, levels = c("resproviders", "bb253_num", "bb253_per",
"avgMaxAdDown", "avgMaxAdUp",
"bbmax_dl", "bbmax_up", "bbmin_dl", "bbmin_up"))) %>%
ggplot(aes(x = value, fill = measure)) +
scale_fill_viridis(option = "plasma", discrete = TRUE, guide = "none") +
geom_histogram() +
facet_wrap(~measure, scales = "free")
pal <- colorNumeric("plasma", reverse = TRUE, domain = maptracts$resproviders)
leaflet() %>%
addProviderTiles("CartoDB.Positron") %>%
addPolygons(data = maptracts,
fillColor = ~pal(resproviders),
weight = 1,
opacity = 1,
color = "white",
fillOpacity = 0.6,
highlight = highlightOptions(
weight = 2,
fillOpacity = 0.8,
bringToFront = T
),
popup = paste0("GEOID: ", maptracts$GEOID, "<br>",
"Number of residential providers: ", maptracts$resproviders)
) %>%
addLegend("bottomright", pal = pal, values = maptracts$resproviders,
title = "Number of residential <br> providers", opacity = 0.7)
pal <- colorNumeric("plasma", reverse = TRUE, domain = mapblkgps$resproviders)
leaflet() %>%
addProviderTiles("CartoDB.Positron") %>%
addPolygons(data = mapblkgps,
fillColor = ~pal(resproviders),
weight = 1,
opacity = 1,
color = "white",
fillOpacity = 0.6,
highlight = highlightOptions(
weight = 2,
fillOpacity = 0.8,
bringToFront = T
),
popup = paste0("GEOID: ", mapblkgps$GEOID, "<br>",
"Number of residential providers: ", mapblkgps$resproviders)
) %>%
addLegend("bottomright", pal = pal, values = mapblkgps$resproviders,
title = "Number of residential <br> providers", opacity = 0.7)
Block level maps are slow to render and may be added later.
pal <- colorNumeric("plasma", reverse = TRUE, domain = maptracts$avgMaxAdDown)
leaflet() %>%
addProviderTiles("CartoDB.Positron") %>%
addPolygons(data = maptracts,
fillColor = ~pal(avgMaxAdDown),
weight = 1,
opacity = 1,
color = "white",
fillOpacity = 0.6,
highlight = highlightOptions(
weight = 2,
fillOpacity = 0.8,
bringToFront = T
),
popup = paste0("GEOID: ", maptracts$GEOID, "<br>",
"Average max advertised <br> download speeds: ", round(maptracts$avgMaxAdDown, 2))
) %>%
addLegend("bottomright", pal = pal, values = maptracts$avgMaxAdDown,
title = "Average maximum <br>advertised <br>download speeds", opacity = 0.7)
pal <- colorNumeric("plasma", reverse = TRUE, domain = mapblkgps$avgMaxAdDown)
leaflet() %>%
addProviderTiles("CartoDB.Positron") %>%
addPolygons(data = mapblkgps,
fillColor = ~pal(avgMaxAdDown),
weight = 1,
opacity = 1,
color = "white",
fillOpacity = 0.6,
highlight = highlightOptions(
weight = 2,
fillOpacity = 0.8,
bringToFront = T
),
popup = paste0("GEOID: ", mapblkgps$GEOID, "<br>",
"Average max advertised <br> download speeds: ", round(mapblkgps$avgMaxAdDown, 2))
) %>%
addLegend("bottomright", pal = pal, values = mapblkgps$avgMaxAdDown,
title = "Average maximum <br>advertised <br>download speeds", opacity = 0.7)
Block level maps are slow to render and may be added later.
pal <- colorNumeric("plasma", reverse = TRUE, domain = maptracts$bbmax_dl)
leaflet() %>%
addProviderTiles("CartoDB.Positron") %>%
addPolygons(data = maptracts,
fillColor = ~pal(bbmax_dl),
weight = 1,
opacity = 1,
color = "white",
fillOpacity = 0.6,
highlight = highlightOptions(
weight = 2,
fillOpacity = 0.8,
bringToFront = T
),
popup = paste0("GEOID: ", maptracts$GEOID, "<br>",
"Max available <br> advertised download speeds: ", round(maptracts$bbmax_dl, 2))
) %>%
addLegend("bottomright", pal = pal, values = maptracts$bbmax_dl,
title = "Max available <br>advertised <br> download speeds", opacity = 0.7)
pal <- colorNumeric("plasma", reverse = TRUE, domain = mapblkgps$bbmax_dl)
leaflet() %>%
addProviderTiles("CartoDB.Positron") %>%
addPolygons(data = mapblkgps,
fillColor = ~pal(bbmax_dl),
weight = 1,
opacity = 1,
color = "white",
fillOpacity = 0.6,
highlight = highlightOptions(
weight = 2,
fillOpacity = 0.8,
bringToFront = T
),
popup = paste0("GEOID: ", mapblkgps$GEOID, "<br>",
"Max available <br> advertised download speeds: ", round(mapblkgps$bbmax_dl, 2))
) %>%
addLegend("bottomright", pal = pal, values = mapblkgps$bbmax_dl,
title = "Max available <br>advertised <br> download speeds", opacity = 0.7)
Block level maps are slow to render and may be added later.